package com.ihg.hiex.entity.session.during.report;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;

import com.ihg.hiex.entity.session.during.SessionCalibrationRecommendation;
import com.ihg.hiex.entity.session.during.SessionCalibrationResultType;

/**
 * 
 * @author dan
 *
 */
public class SessionReportRecommendation {
    
    /** 是否简单酒店 */
    private Boolean simpleHotel;
    
    /** 简单酒店所需时间 */
    @Enumerated(EnumType.STRING)
    private SessionCalibrationResultType simpleHotelResult;
    
    /** 是否普通酒店 */
    private Boolean averageHotel;
    
    /** 普通酒店所需时间 */
    @Enumerated(EnumType.STRING)
    private SessionCalibrationResultType averageHotelResult;
    
    /** 是否复杂酒店 */
    private Boolean complexHotel;
    
    /** 普通复杂所需时间 */
    @Enumerated(EnumType.STRING)
    private SessionCalibrationResultType complexHotelResult;
    
    /** chinese comments */
    private String commentCn;
    
    /** english comments */
    private String commentEn;
    
    /**
     * The default constructor
     */
    public SessionReportRecommendation() {
        
    }
    
    /**
     * 
     * @param recommendation
     */
    public SessionReportRecommendation(SessionCalibrationRecommendation recommendation) {
        this.simpleHotel = recommendation.getSimpleHotel();
        this.simpleHotelResult = recommendation.getSimpleHotelResult();
        this.averageHotel = recommendation.getAverageHotel();
        this.averageHotelResult = recommendation.getAverageHotelResult();
        this.complexHotel = recommendation.getComplexHotel();
        this.complexHotelResult = recommendation.getComplexHotelResult();
        this.commentCn = recommendation.getComment();
        this.commentEn = recommendation.getComment();
    }
    
    public SessionReportRecommendation(SessionCalibrationRecommendation recommendation, SessionReportRecommendation reportRecommendation) {
        this.simpleHotel = recommendation.getSimpleHotel();
        this.simpleHotelResult = recommendation.getSimpleHotelResult();
        this.averageHotel = recommendation.getAverageHotel();
        this.averageHotelResult = recommendation.getAverageHotelResult();
        this.complexHotel = recommendation.getComplexHotel();
        this.complexHotelResult = recommendation.getComplexHotelResult();
        this.commentCn = reportRecommendation.getCommentCn();
        this.commentEn = reportRecommendation.getCommentEn();
    }
    
    /**
     * 
     * @param recommendation
     * @return
     */
    public SessionReportRecommendation edit(SessionReportRecommendation recommendation) {
        this.commentCn = recommendation.getCommentCn();
        this.commentEn = recommendation.getCommentEn();
        return this;
    }

    /**
     * @return the simpleHotel
     */
    public Boolean getSimpleHotel() {
        return simpleHotel;
    }

    /**
     * @return the simpleHotelResult
     */
    public SessionCalibrationResultType getSimpleHotelResult() {
        return simpleHotelResult;
    }

    /**
     * @return the averageHotel
     */
    public Boolean getAverageHotel() {
        return averageHotel;
    }

    /**
     * @return the averageHotelResult
     */
    public SessionCalibrationResultType getAverageHotelResult() {
        return averageHotelResult;
    }

    /**
     * @return the complexHotel
     */
    public Boolean getComplexHotel() {
        return complexHotel;
    }

    /**
     * @return the complexHotelResult
     */
    public SessionCalibrationResultType getComplexHotelResult() {
        return complexHotelResult;
    }

    /**
     * @return the commentCn
     */
    public String getCommentCn() {
        return commentCn;
    }

    /**
     * @return the commentEn
     */
    public String getCommentEn() {
        return commentEn;
    }

    /**
     * @param simpleHotel the simpleHotel to set
     */
    public void setSimpleHotel(Boolean simpleHotel) {
        this.simpleHotel = simpleHotel;
    }

    /**
     * @param simpleHotelResult the simpleHotelResult to set
     */
    public void setSimpleHotelResult(SessionCalibrationResultType simpleHotelResult) {
        this.simpleHotelResult = simpleHotelResult;
    }

    /**
     * @param averageHotel the averageHotel to set
     */
    public void setAverageHotel(Boolean averageHotel) {
        this.averageHotel = averageHotel;
    }

    /**
     * @param averageHotelResult the averageHotelResult to set
     */
    public void setAverageHotelResult(SessionCalibrationResultType averageHotelResult) {
        this.averageHotelResult = averageHotelResult;
    }

    /**
     * @param complexHotel the complexHotel to set
     */
    public void setComplexHotel(Boolean complexHotel) {
        this.complexHotel = complexHotel;
    }

    /**
     * @param complexHotelResult the complexHotelResult to set
     */
    public void setComplexHotelResult(SessionCalibrationResultType complexHotelResult) {
        this.complexHotelResult = complexHotelResult;
    }

    /**
     * @param commentCn the commentCn to set
     */
    public void setCommentCn(String commentCn) {
        this.commentCn = commentCn;
    }

    /**
     * @param commentEn the commentEn to set
     */
    public void setCommentEn(String commentEn) {
        this.commentEn = commentEn;
    }

}
